# -*- coding: utf-8 -*-
'''
projecto- classe destinada a gerar a lista de docentes em HTML
autor- Ana Isabel Marques 6052
data de criação do módulo- 01/12/2011
'''

import SimpleHTTPServer
import SocketServer

from Estatisticas import obter_estatisticas

class Html:
    
######################################################
#Gerar código HTML
######################################################

    def __init__(self):
        pass

    #Este método inicia o servidor
    def iniciar_servidor(self):
        PORT = 8000
        Handler = SimpleHTTPServer.SimpleHTTPRequestHandler
        httpd = SocketServer.TCPServer(("", PORT), Handler)
        #print "serving at port" , PORT
        self.escrita_html()
        pass

    #Este método escreve a lista de docentes segundo o estabelecimento
    #e ano, em que o ano e o estabelecimento foram escolhidos pelo utilizador
    def html_docentes_ano_estabelecimento(self, estabelecimento, ano):
        estatisticas = obter_estatisticas()
            
        listaDocentes = estatisticas.lista_docentes_ano_estabelecimento(estabelecimento, ano)
        
        html = open('paginasHTML/docentes_estabelecimento_ano', 'w')
        codigo = '''<head>
                        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
                        <h3 align="center">Docentes por Estabelecimento e por Ano</h3>
                        </head>
                        <body>
                        <tr>
                        <br>Os Docentes do estabelecimento {0} no ano {1} são:<br>'''.format(estabelecimento, ano)
        html.write(codigo)

        for x in listaDocentes:
            html.write(x + '</br>')
            pass
        
        codigo1 = '''</strong></div></br>
                        </tr>
                        </body>
                        '''
        html.write(codigo1)
        html.close()
        pass


    #Este método escreve a lista de docentes segundo o estabelecimento
    #e ano, em que o ano e o estabelecimento foram escolhidos pelo utilizador
    def html_docentes_categoria_ano_estabelecimento(self, ano, estabelecimento, categoria):

        estatisticas = obter_estatisticas()
        listaDocentes = estatisticas.lista_docentes_ano_estabelecimento_categoria(ano, estabelecimento, categoria)
        
        html = open('paginasHTML/docentes_categoria_estabelecimento_ano', 'w')
        codigo = '''<head>
                        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
                        <h3 align="center">Docentes divididos por Categoria, por Estabelecimento e por Ano</h3>
                        </head>
                        <body>
                        <tr>
                        <br>Os docentes divididos pela categoria: {0} , do estabelecimento {1} no ano {2} são:<br>'''.format(categoria, estabelecimento, ano)
        html.write(codigo)
        
        for x in listaDocentes:
            html.write(x + '</br>')
            pass
        
        codigo1 = '''</strong></div></br>
                        </tr>
                        </body>
                        '''
        html.write(codigo1)
        html.close()
        pass

    def html_docentes_grau_ano_estabelecimento(self, ano, estabelecimento, grau):

        estatisticas = obter_estatisticas()
        listaDocentes = estatisticas.lista_docentes_ano_estabelecimento_grau(ano, estabelecimento, grau)
        
        html = open('paginasHTML/docentes_grau_estabelecimento_ano', 'w')
        codigo = '''<head>
                        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
                        <h3 align="center">Docentes divididos por Grau de Ensino, por Estabelecimento e por Ano</h3>
                        </head>
                        <body>
                        <tr>
                        <br>Os docentes divididos pelo grau de ensino: {0} , do estabelecimento {1} no ano {2} são:<br>'''.format(grau, estabelecimento, ano)
        html.write(codigo)
        
        for x in listaDocentes:
            html.write(x + '</br>')
            pass
        
        codigo1 = '''</strong></div></br>
                        </tr>
                        </body>
                        '''
        html.write(codigo1)
        html.close()
        pass

	
